import request from './request'

// 用户管理API
export const userApi = {
  // 创建用户
  createUser(data) {
    return request({
      url: '/users',
      method: 'post',
      data
    })
  },

  // 更新用户
  updateUser(id, data) {
    return request({
      url: `/users/${id}`,
      method: 'put',
      data
    })
  },

  // 删除用户
  deleteUser(id) {
    return request({
      url: `/users/${id}`,
      method: 'delete'
    })
  },

  // 根据ID获取用户
  getUserById(id) {
    return request({
      url: `/users/${id}`,
      method: 'get'
    })
  },

  // 分页查询用户
  getUsers(params) {
    return request({
      url: '/users',
      method: 'get',
      params
    })
  },

  // 启用/禁用用户
  updateUserStatus(id, status) {
    return request({
      url: `/users/${id}/status`,
      method: 'put',
      params: { status }
    })
  },

  // 重置用户密码
  resetUserPassword(id, data) {
    return request({
      url: `/users/${id}/reset-password`,
      method: 'post',
      data
    })
  },

  // 修改密码
  changePassword(id, data) {
    return request({
      url: `/users/${id}/change-password`,
      method: 'post',
      data
    })
  },

  // 批量操作用户
  batchOperation(data) {
    return request({
      url: '/users/batch',
      method: 'post',
      data
    })
  },

  // 获取用户权限预览
  getUserPermissionPreview(id) {
    return request({
      url: `/users/${id}/permissions`,
      method: 'get'
    })
  },

  // 导出用户数据
  exportUsers(params) {
    return request({
      url: '/users/export',
      method: 'get',
      params
    })
  }
}
